/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.camachosanchez.controler.jdbc;

import com.camachosanchez.bean.Pilotos;
import com.camachosanchez.util.ConexionSQL;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Zully
 */
public class PilotosJdbcControler {
    
    public List<Pilotos> findAll() {
        List<Pilotos> lst = new ArrayList<Pilotos>();
        Connection cn = ConexionSQL.obtenerConexion();
        Statement st;
        try {
            st = cn.createStatement();
            ResultSet rs = st.executeQuery("SELECT id, nombres, apellidos, fecha_nacimiento, nacionalidad, pais_residencia, provincia_residencia, "
                    + "localidad_residencia, telefono, tipo_licencia, observaciones, fecha_insercion_actualizacion, id_usuario, estado FROM pilotos WHERE estado=1;");
            while (rs.next()) {
                Pilotos piloto = new Pilotos();
                piloto.setId(rs.getInt(1));
                piloto.setNombres(rs.getString(2));
                piloto.setApellidos(rs.getString(3));
                piloto.setFechaNacimiento(rs.getDate(4));
                piloto.setNacionalidad(rs.getString(5));
                piloto.setPaisResidencia(rs.getString(6));
                piloto.setProvinciaResidencia(rs.getString(7));
                piloto.setLocalidadResidencia(rs.getString(8));
                piloto.setTelefono(rs.getString(9));
                piloto.setTipoLicencia(rs.getString(10));
                piloto.setObservaciones(rs.getString(11));
                piloto.setFechaInsercionActualizacion(rs.getDate(12));
                piloto.setEstado(rs.getBoolean(13));
                lst.add(piloto);
            }
            rs.close();
            st.close();
            cn.close();
        } catch (SQLException ex) {
            Logger.getLogger(PilotosJdbcControler.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lst;
    }
    
    public byte eliminarPiloto(int id) {
        byte estado = 0;
        try {
            Connection cn = ConexionSQL.obtenerConexion();
            CallableStatement sp = cn.prepareCall("{ call eliminar_piloto(?) }");
            sp.setInt("idPiloto", id);
            ResultSet rs = sp.executeQuery();
            if(rs.next()){
                estado = rs.getByte(1);
            }
            rs.close();
            sp.close();
            cn.close();
        } catch (SQLException ex) {
            Logger.getLogger(PilotosJdbcControler.class.getName()).log(Level.SEVERE, null, ex);
        }
        return estado;
    }
}
